use std::sync::Arc;
use core::registry::PackageRegistry;
-use core::{Source, SourceId, PackageSet, Package, Target, PackageId};
+use core::{Source, SourceId, PackageSet, Package, Target};
use core::{Profile, TargetKind};
use core::resolver::Method;
use ops::{self, BuildOutput, ExecEngine};
try!(ops::resolve_with_previous(&mut registry, package, method,
Some(&resolve), None));
- let req: Vec<PackageId> = resolved_with_overrides.iter().map(|r| {
- r.clone()
- }).collect();
- let packages = try!(registry.get(&req).chain_error(|| {
- human("Unable to get packages from source")
- }));
+ let packages = try!(ops::get_resolved_packages(&resolved_with_overrides, &mut registry));
(packages, resolved_with_overrides, registry.move_sources())
};
use std::path::Path;
use core::registry::PackageRegistry;
-use core::{Package, PackageId};
+use core::{Package, PackageId, Resolve};
use ops;
use util::{CargoResult, Config, human, ChainError};
let package = try!(Package::for_path(manifest_path, config));
let mut registry = PackageRegistry::new(config);
let resolve = try!(ops::resolve_pkg(&mut registry, &package));
+ let _ = get_resolved_packages(&resolve, &mut registry);
+ Ok(())
+}
+pub fn get_resolved_packages(resolve: &Resolve, registry: &mut PackageRegistry)
+ -> CargoResult<Vec<Package>> {
let ids: Vec<PackageId> = resolve.iter().cloned().collect();
- try!(registry.get(&ids).chain_error(|| {
- human("unable to get packages from source")
- }));
- Ok(())
+ registry.get(&ids).chain_error(|| {
+ human("Unable to get packages from source")
+ })
}
pub use self::registry::{publish, registry_configuration, RegistryConfig};
pub use self::registry::{registry_login, search, http_proxy_exists, http_handle};
pub use self::registry::{modify_owners, yank, OwnersOptions};
-pub use self::cargo_fetch::{fetch};
+pub use self::cargo_fetch::{fetch, get_resolved_packages};
pub use self::cargo_pkgid::pkgid;
pub use self::resolve::{resolve_pkg, resolve_with_previous};